require 'digest/sha1'
class Profesor < ActiveRecord::Base
  include Compartido
  extend Compartido

  file_column :imagen, :magick => { :geometry => "50x50" }

  validates_presence_of :cubiculo, :username, :password, :salt, :nombre, :ap_materno, :ap_paterno,
   :departamento, :area, :message => "no puede ser vacío"
  validates_numericality_of :cubiculo, :message => "debe ser numérico"
  validates_format_of :correo, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :message => "es inválido"
  attr_accessor :clave_confirmation
  validates_confirmation_of :clave, :message => "debe coincidir con el campo password"

  has_many :citas
  has_one :horario

  def self.authenticate(username, clave)
    user = Profesor.find_by_username(username)
    if user
      expected_password = encrypted_password(clave, user.salt)
      if user.password != expected_password
        user = nil
      end
    end
    user
  end

  def self.nombres
    profesores = self.find(:all)
    @nombres = Array.new
    profesores.each do |profesor|
      nombre = profesor.nombre + " " + profesor.ap_paterno + " " + profesor.ap_materno
      @nombres << nombre
    end
    @nombres
  end
  
  def nombre_completo
  	self.nombre + " " + self.ap_paterno + " " + self.ap_materno
  end

  def self.busca_nombre_completo(profesor)
    nombre = profesor.split
    @profesor = self.find(:first,
    :conditions => ['nombre = ? and ap_paterno = ? and ap_materno = ?',nombre[0], nombre[1],nombre[2]])
    return @profesor
  end
end
